함수 인자로 함수 포인터 받기
함수 포인터를 함수 인자로 받기 위해선
<반환형식> (*변수명)(함수 인자, 함수 인자)
// ex
int PerformOperation(int x, int y, int (*operation)(int, int)) {
return operation(x, y);
}
형식으로 선언해 주면 된다.
#include <iostream>
// 두 정수를 더하는 함수
int Add(int a, int b) {
return a + b;
}
// 함수 포인터를 인자로 받는 함수
int PerformOperation(int x, int y, int (*operation)(int, int)) {
return operation(x, y);
}
int main() {
int result, lambdaResult;
// Add 함수의 함수 포인터를 전달
result = PerformOperation(3, 4, Add);
lambdaResult = PerformOperation(3, 4, [](int a, int b){ return a - b; });
std::cout << "Result: " << result << std::endl;
std::cout << "LambdaResult: " << lambdaResult << std::endl;
return 0;
}